﻿

using Model.Battle;
using Model.Cards.WuJiang._1_2;
using Model.Enums;
using SanZhan.Models.Cards.WuJiang;
using SanZhan.Models.User;

namespace ConsoleApp1
{
    public class TestData
    {
        public static UserTeam GetTeam1()
        {
            UserTeam team1 = new UserTeam();
            team1.TeamSide = TeamSide.attacker;
            team1.ShiQi = new Random().Next(0, 120);
            team1.Bingzhong = Bingzhong.QiBing;



            UserWuJiang userHero1 = new UserWuJiang(new Youqi());
            userHero1.ID = 1;
            userHero1.IsMain = true;
            userHero1.Level = 20;
            userHero1.Stars = 0;
            userHero1.Bingli = 1000;
            userHero1.UserTeam = team1;
            team1.ZhuJiang = userHero1;


            UserWuJiang userHero2 = new UserWuJiang(new Youqi());

            userHero2.ID = 2;
            userHero2.heroBase = new Youqi();
            userHero2.Level = 20;
            userHero2.Stars = 0;
            userHero2.Bingli = 1100;

            userHero2.UserTeam = team1;
            team1.FuJiang1 = userHero2;


            UserWuJiang userHero3 = new UserWuJiang(new Youqi());
            userHero3.ID = 3;
            userHero3.heroBase = new Youqi();
            userHero3.Level = 20;
            userHero3.Stars = 0;
            userHero3.Bingli = 1200;

            userHero3.UserTeam = team1;
            team1.FuJiang2 = userHero3;

            return team1;
        }


        public static UserTeam GetTeam2()
        {
            UserTeam team = new UserTeam();
            team.TeamSide = TeamSide.definder;
            team.ShiQi = new Random().Next(0, 120);
            team.Bingzhong = RandomEnum.GetRandomEnumValue<Bingzhong>();
            {
                UserWuJiang userHero = new UserWuJiang(new Chengwei());
                userHero.ID = 4;
                userHero.IsMain = true;
                userHero.Level = 20;
                userHero.Stars = 0;
                userHero.Bingli = 1000;

                userHero.UserTeam = team;
                team.ZhuJiang = userHero;

            }
            {
                UserWuJiang userHero = new UserWuJiang(new Chengwei());
                userHero.ID = 5;
                userHero.Level = 20;
                userHero.Stars = 0;
                userHero.Bingli = 1200;

                userHero.UserTeam = team;
                team.FuJiang1 = userHero;

            }
            {

                UserWuJiang userHero = new UserWuJiang(new Chengwei());
                userHero.ID = 6;
                userHero.Level = 20;
                userHero.Stars = 0;
                userHero.Bingli = 1100;

                userHero.UserTeam = team;
                team.FuJiang2 = userHero;

                return team;
            }
        }

        public static UserTeam GetTeam3()
        {
            UserTeam team = new UserTeam();
            team.TeamSide = TeamSide.definder;
            team.ShiQi = new Random().Next(0, 120);
            team.Bingzhong = RandomEnum.GetRandomEnumValue<Bingzhong>();
            {
                UserWuJiang userHero = new UserWuJiang(new SuiJi());
                userHero.ID = 4;
                userHero.IsMain = true;
                userHero.Level = 20;
                userHero.Stars = 0;
                userHero.Bingli = 1000;

                userHero.UserTeam = team;
                team.ZhuJiang = userHero;

            }
            {
                UserWuJiang userHero = new UserWuJiang(new SuiJi());
                userHero.ID = 5;
                userHero.Level = 20;
                userHero.Stars = 0;
                userHero.Bingli = 1200;

                userHero.UserTeam = team;
                team.FuJiang1 = userHero;

            }
            {

                UserWuJiang userHero = new UserWuJiang(new SuiJi());
                userHero.ID = 6;
                userHero.Level = 20;
                userHero.Stars = 0;
                userHero.Bingli = 1100;

                userHero.UserTeam = team;
                team.FuJiang2 = userHero;

                return team;
            }
        }
        public static BattleInfo GetBattleInfo()
        {
            UserTeam team1 = GetTeam1();
            UserTeam team2 = GetTeam3();
            Place place = new Place(1, 1);

            team1.TeamSide = TeamSide.attacker;
            team2.TeamSide = TeamSide.definder;

            BattleInfo battleInfo = new BattleInfo(team1, team2, place);
            return battleInfo;
        }
    }
}
